Глава 3. Измерения памяти

Не нужно сразу писать оптимизированный код, это замедляет разработку и уменьшает читаемость, но при этом выигрыш в эффективности может быть просто минимален
Более разумно сначала написать код, а потом измерять эффективность и видеть те узлы, которые расходуют память малоэффективно

Windows

VMMap

Позволяет анализировать память процесса с точки зрения операционной системы
Это автономная программа, не требующая установки, ее можно скачать с сайта https://docs.microsoft.com/en-us/sysinternals/downloads/vmmap
VMMap распознает страницы, применяемые управляемой кучей .NET, а также страницы, предназначенные для стека и загруженных библиотек.

Счетчики

В Винде существует низкоуровневое API которое может собирать и выдавать информацию о на уровне ОС. Существует множество разных счетчиков и у них есть адреса вида:

\CategoryX(Process A)\Name1

Для отслеживания значений счетчиков можно применять System Perfomace Monitor - встроеное приложение в Windows

Я не потянул такую скуку, будет заполнятся в процессе изучаения остальных глав =)